package com.weijian.dal.vo;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 学习统计视图对象
 */
@Data
public class StudyStatisticsVO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 用户名
     */
    private String username;
    
    /**
     * 课程ID
     */
    private Long courseId;
    
    /**
     * 课程标题
     */
    private String courseTitle;
    
    /**
     * 总学习时长（秒）
     */
    private Integer totalStudyTime;
    
    /**
     * 总学习时长（格式化显示）
     */
    private String formattedStudyTime;
    
    /**
     * 总学习进度百分比
     */
    private BigDecimal totalProgressPercent;
    
    /**
     * 最后学习时间
     */
    private LocalDateTime lastStudyTime;
    
    /**
     * 学习次数
     */
    private Integer studyCount;
    
    /**
     * 已完成视频数
     */
    private Integer completedVideos;
    
    /**
     * 总视频数
     */
    private Integer totalVideos;
    
    /**
     * 课程完成率
     */
    private BigDecimal courseCompletionRate;
    
    /**
     * 排名
     */
    private Integer rank;
    
    /**
     * 学习人数
     */
    private Long learnerCount;
}